iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 12
2
AI & Data

Machine Learning與軟工是否搞錯了什麼?系列 第 12

Day 12 Loss function到底損失了甚麼?

  • 分享至 

  • xImage
  •  

Loss function到底損失了甚麼?

今天我們要來介紹一下,Loss function是做甚麼用的,並簡單介紹一些常用的分類Loss function。

簡介

損失函數(loss function)又叫做代價函數(cost function),是用來評估模型的預測值與真實值不一致的程度,也是神經網絡中優化的目標函數,神經網絡訓練或者優化的過程就是最小化損失函數的過程,損失函數越小,說明模型的預測值就越接近真實值,模型的健壯性也就越好。

原文網址:https://kknews.cc/code/9opor8j.html

Loss function的作用

從上面的簡介中我們知道,Loss function的作用就是用來評估模型是否強壯,假設今天Loss很大,那麼我們可以說這個模型是無法使用的模型。

常見的分類Loss function

0-1 Loss function

在統計和決策理論中,常用的損失函數就是0-1損失函數,這個函數很簡單,當預測值與現實值相同,輸出0,反之輸出1。
因為Loss要越小越好,因此我們知道當預測值與現實值相同時,我們要給Loss一個小的數值,因此這邊設為0。
數學公式為:

優點

  • 簡單

缺點

  • 是非凸函數

Logarithmic Loss Function

優點

  • 可以很好的表達機率分布
  • 在多分類問題時,可以知道每個類別的信心水準

缺點

  • Robustness不足,相比於hinge loss對噪聲更敏感

Hinge Loss function


其中在上式中,y是目標值(-1或是+1),f(x)為預測值(-1,1)之間。
SVM就是使用這個Loss function。

優點

  • 分類器可以專注於整體的誤差
  • Robustness相對較強

缺點

  • 機率分布不太好表示

Kullback-Leibler divergence


可以參考這篇剖析深度學習 (2):你知道Cross Entropy和KL Divergence代表什麼意義嗎?談機器學習裡的資訊理論

優點

  • 衡量兩個機率分佈的差異

缺點

  • 不具有對稱性

Cross-entropy


本質上也是一種對數損失函數,y為Ground Truth,a為實際的輸出,n為總樣本數量。

優點

  • 使用sigmoid作為Activation function時,使用 Cross-entropy而不用MSE,因為它可以解決MSE權重更新過慢的問題
  • 具有誤差大的時候,權重更新快,誤差小的時候,權重更新慢的良好性。

缺點

  • 不能在回歸的問題使用

結論

今天看了一些常用的分類Loss function,並了解它們的主要作用。

參考資料

深度學習入門教程:常見的損失函數大全
Loss function
常见的损失函数(loss function)总结
凸函數和非凸函數---and why
5 Regression Loss Functions All Machine Learners Should Know


上一篇
Day 11 SVM-分分分
下一篇
Day 13 回歸用Loss function
系列文
Machine Learning與軟工是否搞錯了什麼?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言